<?php

/**
 * Kifejezés objektum
 * 
 * Az objektum értékének elemei a kifejezés elemei. A paraméterek lehetnek
 * string-ek, string-é alakítható objektumok, további kifejezések, és számok.
 * 
 * Példa:
 * <code>
 * $o->set(
 * 		array(
 * 			XQL_Field::create()->set(array('id')),
 * 			XQL_Operator::create()->isNotNull(),
 * 			XQL_Operator::create()->and_(
 * 				XQL_Expression::create()->set(
 * 					array(
 * 						XQL_Field::create()->set(array('content'))
 * 						XQL_Operator::create()->Like('%foo')
 * 					)
 * 				)
 * 			)
 * 		)
 * );
 * </code>
 * kimenet: (`id` IS NOT NULL AND (`content` LIKE '%foo'))
 * 
 */
class XQL_Having extends XQL_Expression
{
	/**
	 * Az objektum neve. Meg kell egyeznie egy sémának a nevével, amelyre illeszthető.
	 *
	 * @var string
	 */
	protected $objectName = 'having';
	
	/**
	 * Felépíti az osztályhoz tartozó sémát. Implementálása kötelező.
	 *
	 */
	protected function buildSchema()
	{
		$this->objectSchema = new XQL_HavingSchema();
	}
	
	/**
	 * Visszatér egy példánnyal ugyanebből az osztályból.
	 *
	 * @return XQL_Having
	 */
	public static function create()
	{
		return new XQL_Having();
	}
	
}

?>